package com.neusoft.elm.view;

import com.neusoft.elm.dao.FoodDao;
import com.neusoft.elm.dao.impl.FoodDaoImpl;
import com.neusoft.elm.po.Food;

import java.util.List;
import java.util.Scanner;

public class FoodViewImpl implements FoodView{

    Scanner sc = new Scanner(System.in);

    @Override
    public List<Food> showFoodList(Integer businessId){
        FoodDao dao = new FoodDaoImpl();
        List<Food> list = dao.listFoodByBusinessId(businessId);
        System.out.println("食品编号\t食品名称\t食品介绍\t食品价格");
        for(Food food : list){
            System.out.println(food.getFoodId()+"\t"+food.getFoodName()+"\t"+food.getFoodExplain()+"\t"+food.getFoodPrice());
        }
        return list;
    }

    @Override
    public void saveFood(Integer businessId){
        Food food = new Food();
        System.out.println("请输入食品名称: ");
        food.setFoodName(sc.next());
        System.out.println("请输入食品介绍: ");
        food.setFoodExplain(sc.next());
        System.out.println("请输入食品价格: ");
        food.setFoodPrice(sc.nextDouble());
        food.setBusinessId(businessId);

        FoodDao dao = new FoodDaoImpl();
        int result = dao.saveFood(food);
        if(result > 0){
            System.out.println("新增食品成功!!!\n");
        }else{
            System.out.println("新增食品失败!!!\n");
        }
    }

    @Override
    public void updateFood(Integer businessId){
        FoodDao dao = new FoodDaoImpl();
        List<Food> list = showFoodList(businessId);

        if(list.size() == 0){
            System.out.println("没有任何食品!!! ");
        }else{
            System.out.println("请输入要更新的食品编号: ");
            int foodId = sc.nextInt();
            Food food = dao.getFoodById(foodId);
            System.out.println(food);

            String inputStr = "";
            System.out.println("是否更新食品名称(y/n): ");
            inputStr = sc.next();
            if(inputStr.equals("y")){
                System.out.println("请输入新的食品名称: ");
                food.setFoodName(sc.next());
            }

            System.out.println("是否更新食品介绍(y/n): ");
            inputStr = sc.next();
            if(inputStr.equals("y")){
                System.out.println("请输入新的食品介绍: ");
                food.setFoodExplain(sc.next());
            }

            System.out.println("是否更新食品价格(y/n): ");
            inputStr = sc.next();
            if(inputStr.equals("y")){
                System.out.println("请输入新的食品价格: ");
                food.setFoodPrice(sc.nextDouble());
            }

            int result = dao.updateFood(food);
            if(result > 0){
                System.out.println("\n食品更新成功!!!\n");
            }else{
                System.out.println("\n食品更新失败!!!\n");
            }
        }
    }

    @Override
    public void removeFood(Integer businessId){
        FoodDao dao = new FoodDaoImpl();
        List<Food> list = showFoodList(businessId);

        if(list.size() == 0){
            System.out.println("没有任何食品!!! ");
        }else{
            System.out.println("请选择要删除的食品编号: ");
            int foodId = sc.nextInt();
            System.out.println("确定要删除吗(y/n): ");
            if(sc.next().equals("y")){
                int result = dao.removeFood(foodId);
                if(result > 0){
                    System.out.println("\n食品删除成功!!!\n");
                }else{
                    System.out.println("\n食品删除失败!!!\n");
                }
            }
        }
    }
}
